/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package Grafik;

import ModulHåndtering.Modul;

/**
 *
 * @author Thor
 */
public class Indstilinger extends javax.swing.JPanel {

    MainSkærm ejer;
    Modul modul;

    /**
     * Creates new form Indstilinger
     */
    public Indstilinger() {
        initComponents();
    }

    public void setEjer(MainSkærm ejer) {
        this.ejer = ejer;
    }

    public void setModul(Modul modul) {
        this.modul = modul;

        String[] indstillingerListe = new String[modul.indstillingerList.size()];

        for (int i = 0; i < modul.indstillingerList.size(); i++) {
            indstillingerListe[i] = modul.indstillingerList.get(i);
        }

        indstillingsListe.setListData(indstillingerListe);

        værdiLabel.setText(modul.indstillingerVærdiList.get(0) + "");
        nyVærdiTextField.setText(modul.indstillingerVærdiList.get(0) + "");

    }

    /**
     * This method is called from within the constructor to initialize the form. WARNING: Do NOT modify this code. The content of this method is always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents()
    {

        jScrollPane1 = new javax.swing.JScrollPane();
        indstillingsListe = new javax.swing.JList();
        tilbageKnap = new javax.swing.JButton();
        titel = new javax.swing.JLabel();
        nyVærdiTextLabel = new javax.swing.JLabel();
        værdiLabel = new javax.swing.JLabel();
        værdiTextLabel = new javax.swing.JLabel();
        nyVærdiTextField = new javax.swing.JTextField();
        sætVærdiButton = new javax.swing.JButton();
        ugyldigVærdiLabel = new javax.swing.JLabel();

        setLayout(null);

        indstillingsListe.addMouseListener(new java.awt.event.MouseAdapter()
        {
            public void mouseClicked(java.awt.event.MouseEvent evt)
            {
                indstillingsListeMouseClicked(evt);
            }
        });
        jScrollPane1.setViewportView(indstillingsListe);

        add(jScrollPane1);
        jScrollPane1.setBounds(30, 80, 260, 240);

        tilbageKnap.setText("Tilbage");
        tilbageKnap.addActionListener(new java.awt.event.ActionListener()
        {
            public void actionPerformed(java.awt.event.ActionEvent evt)
            {
                tilbageKnapActionPerformed(evt);
            }
        });
        add(tilbageKnap);
        tilbageKnap.setBounds(80, 420, 100, 40);

        titel.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
        titel.setText("Indstillinger");
        add(titel);
        titel.setBounds(40, 40, 130, 30);

        nyVærdiTextLabel.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
        nyVærdiTextLabel.setText("Ny værdi (som tal):");
        add(nyVærdiTextLabel);
        nyVærdiTextLabel.setBounds(310, 180, 140, 30);

        værdiLabel.setMaximumSize(new java.awt.Dimension(1000, 1000));
        add(værdiLabel);
        værdiLabel.setBounds(330, 140, 100, 20);

        værdiTextLabel.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
        værdiTextLabel.setText("Værdi:");
        add(værdiTextLabel);
        værdiTextLabel.setBounds(310, 90, 140, 30);

        nyVærdiTextField.addActionListener(new java.awt.event.ActionListener()
        {
            public void actionPerformed(java.awt.event.ActionEvent evt)
            {
                nyVærdiTextFieldActionPerformed(evt);
            }
        });
        add(nyVærdiTextField);
        nyVærdiTextField.setBounds(310, 220, 160, 40);

        sætVærdiButton.setText("Sæt ny værdi");
        sætVærdiButton.addActionListener(new java.awt.event.ActionListener()
        {
            public void actionPerformed(java.awt.event.ActionEvent evt)
            {
                sætVærdiButtonActionPerformed(evt);
            }
        });
        add(sætVærdiButton);
        sætVærdiButton.setBounds(310, 280, 160, 40);

        ugyldigVærdiLabel.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
        ugyldigVærdiLabel.setForeground(new java.awt.Color(255, 0, 0));
        ugyldigVærdiLabel.setText("Ugyldig Værdi!");
        add(ugyldigVærdiLabel);
        ugyldigVærdiLabel.setBounds(320, 330, 160, 50);
    }// </editor-fold>//GEN-END:initComponents

    private void tilbageKnapActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tilbageKnapActionPerformed
        //Denne knap tager dig tilbage til hovedPanel
        ejer.rykForest(ejer.hovedPanel);
    }//GEN-LAST:event_tilbageKnapActionPerformed

    private void sætVærdiButtonActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_sætVærdiButtonActionPerformed
    {//GEN-HEADEREND:event_sætVærdiButtonActionPerformed
        int nyVærdi;
        try {
            nyVærdi = Integer.parseInt(nyVærdiTextField.getText());
            modul.setIndstilling(indstillingsListe.getSelectedIndex(), nyVærdi);
            værdiLabel.setText(nyVærdi + "");
            ugyldigVærdiLabel.setVisible(false);
        } catch (NumberFormatException e) {
            ugyldigVærdiLabel.setVisible(true);
        }

    }//GEN-LAST:event_sætVærdiButtonActionPerformed

    private void indstillingsListeMouseClicked(java.awt.event.MouseEvent evt)//GEN-FIRST:event_indstillingsListeMouseClicked
    {//GEN-HEADEREND:event_indstillingsListeMouseClicked
        int selected = indstillingsListe.getSelectedIndex();
        værdiLabel.setText(modul.indstillingerVærdiList.get(selected) + "");
        nyVærdiTextField.setText(modul.indstillingerVærdiList.get(selected) + "");
    }//GEN-LAST:event_indstillingsListeMouseClicked

    private void nyVærdiTextFieldActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_nyVærdiTextFieldActionPerformed
    {//GEN-HEADEREND:event_nyVærdiTextFieldActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_nyVærdiTextFieldActionPerformed

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JList indstillingsListe;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTextField nyVærdiTextField;
    private javax.swing.JLabel nyVærdiTextLabel;
    private javax.swing.JButton sætVærdiButton;
    private javax.swing.JButton tilbageKnap;
    private javax.swing.JLabel titel;
    public javax.swing.JLabel ugyldigVærdiLabel;
    public javax.swing.JLabel værdiLabel;
    private javax.swing.JLabel værdiTextLabel;
    // End of variables declaration//GEN-END:variables
}
